Гена собирается
на туристический слет учеников своей школы. В своем классе он был назначен
ответственным за палатки. У себя дома он нашел 3 палатки: первая их них весит a1 килограмм и вмещает b1 человек, вторая весит a2
килограмм и вмещает b2 человек,
третья весит a3 килограмм
и вмещает b3 человек.
В классе Гены k человек. Выясните, может ли он выбрать
палатки так, чтобы в них все могли поместиться. При этом учитывайте, что
выбранные палатки должны суммарно весить не более w килограмм.
Вход. Первая строка содержит два целых числа:
k и w (1 ≤ k ≤
15, 1 ≤ w ≤ 30). Вторая
строка содержит шесть целых чисел: a1,
b1, a2, b2,
a3, b3 (1 ≤ a1,
a2, a3 ≤ 10, 1 ≤ b1, b2,
b3 ≤ 15).
Выход. Выведите YES, если палатки указанным
образом выбрать можно, и NO в противном случае.
Пример входа |
Пример выхода |
10 10 5 5 6
6 4 5 |
YES |
элементарная
задача – условный оператор
Поскольку палаток всего три, то
можно рассмотреть все возможные варианты расположения учеников в палатках. То
есть рассмотреть возможность расположения учеников:
·
только в первой палатке;
·
только во второй палатке;
·
только в третьей палатке;
·
только в первой и во второй палатке;
·
только в первой и в третьей палатке;
·
только во второй и в третьей палатке;
·
во всех трех палатках.
Все указанные варианты можно рассмотреть
семью условными операторами. Объявим переменную flag, установим ее изначально в 0 (всех учеников поместить в
палатки нельзя). Далее проверим возможность каждого из семи указанных
размещений.
Например, условие возможности
размещения всех учеников только во второй палатке будет выглядеть так:
if ((b2 >= k) && (a2
<= w)) flag = 1;
Условие возможности размещения
всех учеников только в первой и третьей палатке будет выглядеть так:
if ((b1 + b3 >= k) && (a1
+ a3 <= w)) flag = 1;
В зависимости от значения flag после проверки всех семи
условий следует вывести ответ.
Реализуем перебор всех возможных
вариантов расположения учеников в палатках.
scanf("%d %d",&k,&w);
scanf("%d %d %d %d %d %d",&a1,&b1,&a2,&b2,&a3,&b3);
if
((b1 >= k) && (a1 <= w)) flag = 1;
if
((b2 >= k) && (a2 <= w)) flag = 1;
if
((b3 >= k) && (a3 <= w)) flag = 1;
if
((b1 + b2 >= k) && (a1 + a2 <= w)) flag = 1;
if
((b1 + b3 >= k) && (a1 + a3 <= w)) flag = 1;
if
((b2 + b3 >= k) && (a2 + a3 <= w)) flag = 1;
if
((b1 + b2 + b3 >= k) && (a1 + a2 + a3 <= w)) flag = 1;
if (flag) printf("YES\n"); else
printf("NO\n");